package fr.vvins.core.biz.order.dto;



import java.io.Serializable;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import fr.vvins.core.biz.user.dto.UserDto;
import fr.vvins.core.biz.user.dto.UserDtoInfo;
import fr.vvins.core.common.dto.BeanDtoImpl;
import fr.vvins.core.common.dto.annotation.Dto;
import fr.vvins.core.order.entity.Order;

/**
 * Order entity
 */
@Dto(name="Order", entity=Order.class)
public class OrderDto extends BeanDtoImpl implements Serializable {

	private static final long serialVersionUID = -2055409151138564621L;
	private Date creationDate;
	private Integer status;
	private String initialAmount;
	private String amount;
	private String taxAmount;
	private Set<PaymentItemDto> paymentItems = new HashSet<PaymentItemDto>(0);
	private Set<CommerceItemDto> commerceItems = new HashSet<CommerceItemDto>(0);
	private Set<ShippingItemDto> shippingItems = new HashSet<ShippingItemDto>(0);

	public OrderDto() {
	}

	public OrderDto(Integer id, UserDtoInfo user, Date creationDate, Integer status,
			String initialAmount, String amount, String taxAmount,
			Set<PaymentItemDto> paymentItems, Set<CommerceItemDto> commerceItems,
			Set<ShippingItemDto> shippingItems) {
		super();
		this.id = id;
		this.creationDate = creationDate;
		this.status = status;
		this.initialAmount = initialAmount;
		this.amount = amount;
		this.taxAmount = taxAmount;
		this.paymentItems = paymentItems;
		this.commerceItems = commerceItems;
		this.shippingItems = shippingItems;
	}

	public OrderDto(Integer id) {
		this.id = id;
	}

	public Date getCreationDate() {
		return creationDate;
	}

	public void setCreationDate(Date creationDate) {
		this.creationDate = creationDate;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String getInitialAmount() {
		return initialAmount;
	}

	public void setInitialAmount(String initialAmount) {
		this.initialAmount = initialAmount;
	}

	public String getAmount() {
		return amount;
	}

	public void setAmount(String amount) {
		this.amount = amount;
	}

	public String getTaxAmount() {
		return taxAmount;
	}

	public void setTaxAmount(String taxAmount) {
		this.taxAmount = taxAmount;
	}

	public Set<PaymentItemDto> getPaymentItems() {
		return paymentItems;
	}

	public void setPaymentItems(Set<PaymentItemDto> paymentItems) {
		this.paymentItems = paymentItems;
	}

	public Set<CommerceItemDto> getCommerceItems() {
		return commerceItems;
	}

	public void setCommerceItems(Set<CommerceItemDto> commerceItems) {
		this.commerceItems = commerceItems;
	}

	public Set<ShippingItemDto> getShippingItems() {
		return shippingItems;
	}

	public void setShippingItems(Set<ShippingItemDto> shippingItems) {
		this.shippingItems = shippingItems;
	}


}
